package com.jmb.api.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jmb.api.model.entity.ApiTestCacheParameterLog;
import com.jmb.api.model.entity.BaseEntity;
import com.jmb.api.model.to.api.cache.ApiTestCacheParameterLogTO;
import com.jmb.api.model.vo.api.cache.ApiTestCacheParameterLogVO;
import com.jmb.api.service.ApiTestCacheParameterLogService;
import com.jmb.api.mapper.ApiTestCacheParameterLogMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* @author jinbo
* @description 针对表【api_test_cache_parameter_log】的数据库操作Service实现
* @createDate 2025-04-08 13:53:56
*/
@Service
public class ApiTestCacheParameterLogServiceImpl extends ServiceImpl<ApiTestCacheParameterLogMapper, ApiTestCacheParameterLog>
    implements ApiTestCacheParameterLogService{
    @Autowired
    private ApiTestCacheParameterLogMapper apiTestCacheParameterLogMapper;

    /**
     * 根据ID查询单条数据
     * @param id 传入的ID
     * @return ApiTestCacheParameterLogVO
     */
    @Override
    public ApiTestCacheParameterLogVO findApiTestCacheParameterLogById(Integer id) {
        ApiTestCacheParameterLog parameterLog = this.getById(id);
        ApiTestCacheParameterLogVO apiTestCacheParameterLogVO = new ApiTestCacheParameterLogVO();
        BeanUtils.copyProperties(parameterLog,apiTestCacheParameterLogVO);
        return apiTestCacheParameterLogVO;
    }

    /**
     * 分页查询 获取后置处理器调用日志列表，
     * @param page 分页对象
     * @param apiTestCacheParameterLogTO 查询条件
     * @return IPage<ApiTestCacheParameterLogVO> 分页后的列表
     */

    @Override
    public IPage<ApiTestCacheParameterLogVO> findInterfaceProcessorLogList(IPage<ApiTestCacheParameterLogVO> page, ApiTestCacheParameterLogTO apiTestCacheParameterLogTO) {
        return apiTestCacheParameterLogMapper.selectListPage(page,apiTestCacheParameterLogTO);
    }

    /**
     * 查询所有后置处理器调用日志列表
     * @param apiTestCacheParameterLogTO 查询条件
     * @return List<ApiTestCacheParameterLogVO> 列表
     */
    @Override
    public List<ApiTestCacheParameterLogVO> findInterfaceProcessorLogListAll(ApiTestCacheParameterLogTO apiTestCacheParameterLogTO) {
        return apiTestCacheParameterLogMapper.selectListPCache(apiTestCacheParameterLogTO);
    }

    /**
     * 保存后置处理器调用日志
     * @param apiTestCacheParameterLog 后置处理器调用日志
     * @return ApiTestCacheParameterLog 保存后的后置处理器调用日志
     */
    @Override
    public ApiTestCacheParameterLog saveInterfaceProcessorLog(ApiTestCacheParameterLog apiTestCacheParameterLog) {
         this.save(apiTestCacheParameterLog);
         return apiTestCacheParameterLog;
    }
}




